home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtalerts.d < prev    next >
Text File  |  1997-10-26  |  6KB  |  128 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtAlerts     Alertformulare mit mtDials-Features                     *
  24.  *                                                                      *
  25.  * Zus„tzlich zu den blichen Icons (1-3) k”nnen bei den MagicAlerts    *
  26.  * noch weitere Alerts eingebunden werden.  Insgesamt stehen bis zu 256 *
  27.  * (1..256) 'Iconslots' zur Verfgung, von denen die ersten 3 (1..3)    *
  28.  * standardm„žig mit den blichen Icons (Note, Wait und Stop) belegt    *
  29.  * sind. Weitere Icons k”nnen ber SetIconslot gesetzt und dann mit der *
  30.  * entsprechenden Nummer angesprochen werden.  Eine Auswahl von Icons   *
  31.  * steht mit AlertIcons zur Verfgung und kann mit Hilfe eines RCS      *
  32.  * und des RSC-Coders einfach erweitert werden.                         *
  33.  *                                                                      *
  34.  * Der Vorteil des Verfahrens liegt darin, daž mtAlerts nicht mehr den  *
  35.  * ganzen Datenballast mitfhren muž, wenn ein Programm nur die b-     *
  36.  * lichen Icons benutzt. Ausserdem ist so der Icon-Vorrat einfacher     *
  37.  * aufzustocken...                                                      *
  38.  *                                                                      *
  39.  * Als Erweiterung gegenber den normalen Alerts k”nnen bei mtAlerts    *
  40.  * bis zu 16 Zeilen Text und bis zu 4 Buttons angegeben werden.         *
  41.  *----------------------------------------------------------------------*)
  42.  
  43. DEFINITION MODULE mtAlerts;
  44.  
  45. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  46.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  47.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  48.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  49.  
  50.  
  51.  
  52.  
  53.  
  54. FROM MagicAES   IMPORT  PtrBITBLK;
  55.  
  56. PROCEDURE Alert (def: sINTEGER; REF  str: ARRAY OF CHAR): sINTEGER;
  57. (* Alertbox, wie FormAlert, jedoch mit den Spezialit„ten von MagicDials 
  58.  * Icon 1 - 3 sind die gewohnten Alert-Icons, andere Icons k”nnen mittels
  59.  * SetIconslot gesetzt werden (siehe auch Modul AlertIcons). Besonderheiten:
  60.  *
  61.  * - Als Erweiterung gegenber den normalen Alerts k”nnen bei mtAlerts
  62.  *   16 Zeilen Text mit bis zu 60 Zeichen und bis zu 4 Buttons angegeben
  63.  *   werden.
  64.  *
  65.  * - Die Icons k”nnen auch ber Buchstaben addressiert werden, wie dies 
  66.  *   bei den RCS INTERFACE gemacht wird. Die Gr”že des Images ist nur 
  67.  *   durch die Bildschirmgr”že begrenzt.  Die Ausl”setaste eines Buttons 
  68.  *   kann wie gewohnt mit eine vorangehenden '[' angegeben werden.
  69.  *   Beispiele:
  70.  *
  71.  *   '[3][Das ist ein normales|Alerticon][[Aha!]'
  72.  *   '[C][Sollte mit SetIconslot|installiert sein...][[Genau!|[Jawoll!]'
  73.  *   '[128][Auch Zahlen funktionieren![[Pfanntastisch!]'
  74.  *
  75.  * - In den Alerttexten (nicht den Buttons!!!) k”nnen folgende Steuer-
  76.  *   zeichen enthalten sein:
  77.  * 
  78.  *   %D = Der komplette Text dieser Zeile wird doppelt unterstrichen
  79.  *   %U = Der komplette Text dieser Zeile wird einfach unterstrichen
  80.  *   %F = Der komplette Text dieser Zeile wird fett geschrieben.
  81.  *
  82.  *   Andere Steuerzeichen werden ignoriert und in den Text geschrieben.
  83.  *   Beachten Sie bitte, daž der einfache und doppelte Unterstrich schon
  84.  *   im Bereich des nachfolgenden Textes liegen. Hier sollte man eine
  85.  *   Leerzeile '||' lassen.  Beispiele:
  86.  *
  87.  *   '[3][%DProgramm-Abbruch||M”chten Sie das Programm wirklich beenden?][[Ja|[Nein]';
  88.  *)
  89.  
  90. PROCEDURE PosAlert (x, y, def: sINTEGER; REF  str: ARRAY OF CHAR): sINTEGER;
  91. (* Wie Alert, die Alertbox wird jedoch an Position x,y dargestellt
  92.  * (linke obere Ecke)
  93.  *)
  94.  
  95. PROCEDURE SetIconColor (color: sINTEGER);
  96. (* Setzt die Farbe des Icons. Damit kann man im Farbmodus wichtige Zust„nde
  97.  * besonders hervorheben.
  98.  *)
  99.  
  100. PROCEDURE Iconslot (slot: sINTEGER): PtrBITBLK;
  101. (* Liefert den Inhalt des Iconslots mit Nummer slot; NIL wenn nicht belegt,
  102.  * oder slot nicht existent.
  103.  *)
  104.  
  105. PROCEDURE SetIconslot (slot: sINTEGER; icon: PtrBITBLK);
  106. (* Setzt ein Icon der Nummer 4..256. icon zeigt auf einen Bitblk, wie er
  107.  * z.B. vom RCS erzeugt wird. 
  108.  *)
  109.  
  110. TYPE AlertMode = (left, center, right, gemicon, alticon);
  111.  
  112. PROCEDURE ConfigAlert (mode: AlertMode);
  113. (* Konfiguriert, wie sich Alerts pr„sentieren.
  114.  * left =    Buttons linksbndig
  115.  * center =  Buttons Zentriert (wie AES, default!)
  116.  * right =   Buttons rechtsbndig
  117.  * gemicon = Die 'normalen' GEM-Icons benutzen (default!)
  118.  * alticon = Die alternativen Icons (etwas Mac-Like) benutzen
  119.  *)
  120.  
  121. PROCEDURE InitMtAlerts;
  122. (* Initialsiert das Modul. Wird normalerweise im Modulk”rper ausgefhrt
  123.  * und braucht nicht weiter beachtet zu werden.
  124.  *)
  125.  
  126. END mtAlerts.
  127.                                
  128.